草庐IT

Javascript for ... in 循环与 Object.prototype 和 Array.prototype 属性

全部标签

ruby-on-rails - ActiveModel 属性

如何获得ActiveRecord属性方法功能?我有这个类:classPurchaseFormincludeActiveModel::ValidationsincludeActiveModel::ConversionextendActiveModel::Namingattr_accessor:name,:surname,:emailvalidates_presence_of:namevalidates_format_of:email,:with=>/^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/idefinitialize(attribut

ruby-on-rails - 如何对嵌套集合的所有属性求和?

鉴于我将User.attachments和Attachment.visits作为具有数字计数的整数。如何轻松统计该用户所有图片的所有访问量? 最佳答案 使用ActiveRecord::Base#sum:user.attachments.sum(:visits)这应该生成一个高效的SQL查询,如下所示:SELECTSUM(attachments.visits)FROMattachmentsWHEREattachments.user_id=ID 关于ruby-on-rails-如何对嵌套集合

ruby-on-rails - 如何在 Ruby on Rails 中循环几个月

我需要在RubyonRails应用程序中循环几个月。对于每个月,我需要找到给定月份的第一天和最后一天。然后在单独的查询中使用这些日期来查找在这些日期期间发生的事件并对其运行计算。最初,我尝试过类似的方法:(11.months.ago.to_date.month..Date.today.month).eachdo|m|start_date='01-#{m}-#{Date.today.year}'.to_date.beginning_of_monthend_date='01-#{m}-#{Date.today.year}'.to_date.end_of_monthend当然,如果11个月前

ruby - 在没有 rvm 或 rbenv 的情况下编译 Ruby 2.0 错误, `readline.c:1886:26: error: ' Function' undeclared (first use in this function)`

我想安装gitlab,不推荐使用任何ruby版本管理器。但是这是我的操作系统Linuxdqa-dev3.13.0-24-generic#46-UbuntuSMPThuApr1019:08:14UTC2014i686i686i686GNU/Linuxlinkingshared-objectpsych.soinstallingdefaultpsychlibrariesmake[2]:Leavingdirectory`/home/poc/ruby-2.0.0-p451/ext/psych'make[2]:Enteringdirectory`/home/poc/ruby-2.0.0-p451/

ruby - Ruby 中使用循环对象引用的垃圾收集

我在Ruby中遇到垃圾回收问题,我认为应该进行垃圾回收的对象没有被垃圾回收。require'ruby-mass'deffind_dependencies(_object_id,_mapped={})mapped=_mappedpoints_to_object=Mass.references(Mass[_object_id])ids=points_to_object.keys.map{|x|/\#(\d*)/.match(x).captures.first.to_i}mapped[_object_id]=idsunmapped=ids-mapped.keysunmapped.eachdo

ruby-on-rails - 为什么要测试:units and test:functionals insist on running in development environment?

我正在尝试测试一些特定于环境的设置(特定于中间件,但这似乎无关紧要),但我无法让测试在正确的环境中运行。症状:如果我运行rubytest/unit/my_test.rb,一切都很好,因为它做的第一件事是需要test/test_helper.rb,这会设置环境"test"然后加载Rails环境。如果我运行raketest,第一批(功能)运行良好,但第二批(单元)失败。失败是ENV['RAILS_ENV]以某种方式在批处理之间未设置,然后config/environment.rb看到没有设置并使用默认值"development“。环境在config/environment.rb的开头和该文

Ruby each vs while 循环性能

试图解决Ruby中的一个基本算法问题,并测试性能。为了以防万一,该算法旨在找到可被1到20之间的所有数字整除的最小正数。这是代码:defremainder(number)#withwhiledivisor=2whiledivisor在我的电脑上,对于while版本,Ruby大约需要10秒,对于每个版本,解析需要70到80秒。代码做完全相同的事情,给出相同的结果。为什么会有如此大的性能差异? 最佳答案 似乎成本是通过以下方式添加的:为范围对象(2..20)创建枚举器在each中调用block这是一个基准require'benchmar

ruby-on-rails - Rails Engines : When to put code in app, 何时在 lib 中,何时在 vendor 文件夹中?

我正在开发一个Rails引擎,所以我对现有引擎进行了一些研究。我注意到他们中的许多人在app中都有文件,但也在lib和vendor中。我很清楚,我应该将任何应该由主机应用程序替换的代码放入app文件夹中(例如,当有一个模型app/user.rb,主机应用程序可以很容易地拥有自己的app/user.rb文件并使用这个而不是引擎的)。但我不确定,何时必须将内容放入lib,何时放入vendor?我想,在vendor中,我应该只放置我想在我的项目中使用的来自其他开发人员或项目的“外部”代码,而在lib中,我放置我的拥有我在项目中实际使用的其他库。但是,例如,为什么WiceGrid将内容放入其w

ruby - custom_require.rb :36:in `require' : no such file to load -- myapp(LoadError)

我收到上述错误,我所做的只是安装rvm并从您使用mac获得的默认ruby​​更新到ruby​​1.9.2。我所有的gem都出现在gem列表中,但我需要在某处指定路径吗?干杯,格伦诺。 最佳答案 检查你是否安装了gemsgemlist如果没有,照常安装geminstallwhatever或者如果你想要特定版本geminstallwhatever-v1.2.3或者如果你的项目中有bundler(即Rails),它只是bundleinstall如果您拥有所有的gem,那么这可能是一个本地文件,并且您可能来自Ruby版本$LOAD_PATH

ruby-on-rails - 如何避免在 factory_girl 中循环创建关联模型?

我有一个应用程序,用户可以在其中使用多种服务登录,例如GooglePlus、Facebook、Twitter等为此,我有一个基本的User模型,其中有has_manyIdentity记录。每个Identity记录都有一个provider字段(例如“Google”、“Facebook”等。..)以指示用于登录的提供商。有一个ActiveRecord验证只允许用户拥有每种类型的提供程序之一。所以一个用户不能有2个"Google"identities。我的工厂设置如下:FactoryGirl.definedofactory:userdosequence(:name){|n|"JulioJon